//
//  AppDelegate.m
//  BrushFace
//
//  Created by Zzz on 15/11/29.
//  Copyright © 2015年 Zzz. All rights reserved.
//

#import "AppDelegate.h"
#import "AppDelegate+WeChat.h"
#import "DeviceInfo.h"
#import "MeStatus.h"

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    ITLogSP(@"AppDelegate");

    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
    [[NSNotificationCenter defaultCenter]postNotificationName:@"stopRadar" object:nil];
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    
    
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    USER_ACCOUNT_STATUS status = [[MeStatus sharedInstance] userAccountStatus];
    if(status == USER_ACCOUNT_STATUS_VERIFY){
        
        NSURL *getTokenUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@/passport/getTokenForAppLogin.json?key=123&version=%@&timeMillis=%@",SERVICE_ADRESS,@"1.0",[DeviceInfo getCurDeviceTimeStr]]];
        NSURLRequest *request = [[NSURLRequest alloc]initWithURL:getTokenUrl cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:30];
        NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        NSDictionary *jsondict = [NSJSONSerialization JSONObjectWithData:received options:0 error:nil];
        if([[NSString stringWithFormat:@"%@",jsondict[@"result"]] integerValue] == 1){
            NSURL *loginUrl = [NSURL URLWithString:[NSString stringWithFormat:@"%@/passport/appLoginByLoginKey.json?imie=%@&loginKey=%@&loginToken=%@",SERVICE_ADRESS,[DeviceInfo fetchGeneralDeviceId],[MeStatus sharedInstance].getLoginKey,jsondict[@"loginToken"]]];
            NSURLRequest *loginRequest = [[NSURLRequest alloc]initWithURL:loginUrl cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:30];
            NSData *loginRet = [NSURLConnection sendSynchronousRequest:loginRequest returningResponse:nil error:nil];
            NSDictionary *loginJsondict = [NSJSONSerialization JSONObjectWithData:loginRet options:0 error:nil];
            if([[NSString stringWithFormat:@"%@",loginJsondict[@"result"]] integerValue]==1){
                [[MeStatus sharedInstance]saveLoginKey:loginJsondict[@"loginKey"]];
                ITLogSP(@"用户已绑定手机号自动登录");
            }else{
                [[MeStatus sharedInstance] removeUserAccount];
            }
        }else{
            [[MeStatus sharedInstance] removeUserAccount];
        }
        
        
    }else{
        ITLogSP(@"请使用微信登录，并验证手机号");
    }

}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    [[NSNotificationCenter defaultCenter]postNotificationName:@"startRadar" object:nil];
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    
}

@end
